home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
hardware
/
cpu115
/
history.doc
< prev
next >
Wrap
Text File
|
1995-02-27
|
7KB
|
157 lines
... HISTORY.DOC .......................... TMi0SDGL(tm) Companion Document ...
Document no.: N-0014.94.95M01.07
TMi0SDGL(tm) Version 1.15 - HISTORY.DOC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
History of changes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TMi0SDGL(tm) version 1.10d was the first version publicly released.
Differences between version 1.10d and version 1.11:
- changed 80287XL determination logic: now this conclusion is made if CPU
is 80286 and FPU tests as 80387;
- added IIT (Integrated Information Technology, Inc.) xC87 math coprocessors
detection;
- fixed bug in 386 stepping detection routine.
Differences between versions 1.11 and 1.11b:
- fixed bug that caused FPU_Type routine to hang on 486s: they don't handle
IIT bank switching instructions at all, stopping CPU.
Differences between versions 1.11b and 1.12:
- distinguish between Cyrix 486SLC and 486DLC made reliable;
- code distinguishing between 386sx and 386dx that used bug in dx chips
deleted (it was commented out in previous versions) - current method is
absolutely reliable;
- code slightly optimized to reduce size.
Differences between versions 1.12 and 1.12b:
- some slight modifications made to CPUSPEED.ASM module to prevent invalid
computation of clock frequency for unknown CPUs.
Differences between versions 1.12b and 1.13:
- added 386sl detection routine, but wasn't checked yet: at least it doesn't
hang the PC :);
- distinguishing between i486sx and i486dx finally made reliable;
- code slightly optimized;
- CPUSPEED.ASM enhanced and recommented to reflect new CPU type addition.
Differences between versions 1.13 and 1.14:
- reduced source file size of CPUSPEED.ASM;
- Test_Buffer routine made reentrant ( at last! :);
- added newer 386 and 486 recognition ( ID flag of EFLAGS is flippable and
CPUID instruction works on new 386s and 486s so I took precaution of
this situation);
- described method of identifying AMD's 40MHz 386s and a little bit tricky
method of identifying i486DX2/66 chips;
- added method of identifying Cyrix M1 (586) chip - was not checked yet;
- 386SL detection code commented out, but still present - maybe it works on
some chipsets...
Differences between versions 1.14 and 1.14b:
- added hi-level interfaces and sample programs,
Turbo Pascal 7.0, Turbo C 2.0 and Borland C++ 3.1 were used to compile these
examples, they appeared to work o.k.;
- added i487sx detection;
- corrected Cyrix chips id's - there are also SX and DX chips;
- added Known Incompatibilities list;
- wow! this thingie's gettin' really BIG, ain't it..?
Differences between versions 1.14b and 1.14c:
Lots o'bugs fixed in this version:
- fixed bug in hi-level routines that caused Intel 386/33 chips to be
identified as AMD ones;
- finally got rid of DOS session crashes under Windoze in assembly-language
version on 386dx-based systems; also, the code made Windoze-aware in
time-critical sections so it won't bother me (and you) anymore;
- added makeX.bat batches to simplify compile process. Of course paths and
parameters should be adjusted in 'em;
- finally fixed code for new 386+ chips which handles CPUID instruction -
this command appeared to destroy some registers I used to hold temp data.
Too bad I haven't Pentium data sheet :( - this bug could never appear...
- added new module P5INFO.ASM and two sample programs in Pascal and C demon-
strating it's usage - Pentium (and predecessors with cpuid enabled) feature
info lister. This is rough approach - when I have a P5 data sheet I'll add
more info;
- fixed OS/2 DOS Session crash problem on 486 systems - that ugly OS doesn't
allow to flip NE bit of CR0 hanging up the PC;
- this thing became really BIG now - 36K in ZIP. I think it's time to stop.
But I'll still develop it if you, users, will tell me I should.
Differences between versions 1.14c and 1.14d:
- I took some time and finally adjusted CPU timings so that CPUSpeed routine
produce more precise results but it still may give inadequate values on
certain CPUs from different vendors - there's so many of them;
- fixed obvious bug in P5Info - Make string is returned by CPU itself in
EBX,EDX,ECX registers, so I fixed it;
- made an approach to recognize UMC's U5 chips in hi-level routines;
- slightly modified hi-level interfaces to adapt them to new approach;
- optimized OS/2 detection routine;
- added Note 7 in dox - PLEASE READ IT BEFORE SENDING ME BUG-REPORTS!;
- stripped comments from CPU_HL.ASM - this is just a port from CPU_TYPE.ASH
which contain 'em all;
- added integer-only CPU speed calculation routines (got rid of fp), although
you'll lose precision using them;
- added DESQview calls Begin/End critical section in CPUSPEED.ASM;
- tested under Quarterdeck DESQview 2.63 - caused no probs on my Am386DX-40
system, MHz computed correctly.
Differences between versions 1.14d and 1.14e:
- Fixed an obnoxious bug in CPU_HL.ASM that caused P5 misidentification;
- fixed reporting Cyrix chips - only SLC is now distinguished from other
Cyrix's 486s;
- again fixed P5Info report - feature flags were shifted somehow;
- Note 7 moved to separate file README.1ST, and you SHOULD READ IT.
Differences between versions 1.14e and 1.14f:
- SMM test added, batches adjusted to reflect this addition;
- added one more P5 feature flag description to P5Info programs.
Differences between versions 1.14f and 1.14g:
- rewritten OS/2 detection routine, several bugs under OS/2 evaporated;
- added 486 SX/DX/DX2/DX4/SX2/SL/Overdrive distinguishing for newer CPU models
with CPUID support (thnx 2 Janis Smits once again for model codes), but
this new code is not tested yet!!! It shouldn't cause any trouble but it may
misidentify some 486s...
- some other bugs are being chased right now :-E~ ...
Differences between versions 1.14g and 1.14h:
Damn it! Previous version was full of bugs :(
- finally made the code able to run in protected mode. Now you can really
uncomment those commands in makep.bat that create protected mode .exe;
- found that old 486SX/DX detection method doesn't work under Borland's DPMI
host. I gotta find other way to determine this...
- fixed bug that prevented new 486SX/DX/DX2/etc. detection code from
execution, also avoided FPU checking for new CPUs with FPUonChip flag set;
- calling convention changed to pascal everywhere (though there should not
be any probs in upgrading your C/C++ applications for the rest of library
was not changed);
- added MAKEFILE for those who prefer using MAKE to build projects;
- some other minor fixes made.
Differences between versions 1.14h and 1.15:
- added new code detecting 386 and 486 model without using CPUID instruction
and sample program demonstrating its usage;
- makefile updated to reflect this addition;
- added FPU emulator detection;
- added P24D detection code;
- Cyrix misidentification under Windows fixed;
- C code rearranged for compatibility with Microsoft C[++].
<< end of HISTORY.DOC >>